using System;
using System.Web;
using System.Web.SessionState;

namespace ActivUFRJ.Utilitarios
{

    public class Validar
    {
        
        private static string regExpr = @"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$";
        
        public Validar()
        {

        }


        /// <summary>
        /// valida e-mail da UFRJ
        /// </summary>
        /// <param name="email"></param>
        /// <returns></returns>
        public static bool EmailUFRJ(string email)
        {
            System.Configuration.RegexStringValidator rsv = new System.Configuration.RegexStringValidator(regExpr);
            try
            {
                rsv.Validate(email);
                if (email.IndexOf("ufrj.br") > 0) return true;
                else return false;
            }
            catch
            {
                return false;
            }
        }

        /// <summary>
        /// valida email comum
        /// </summary>
        /// <param name="email"></param>
        /// <returns></returns>
        public static bool Email(string email)
        {
            System.Configuration.RegexStringValidator rsv = new System.Configuration.RegexStringValidator(regExpr);
            try
            {
                rsv.Validate(email);
                return true;
            }
            catch
            {
                return false;
            }
        }


        /// <summary>
        /// valida artefato
        /// </summary>
        /// <param name="artefato"></param>
        public static void Artefato(Classes.Artefato.Artefato artefato)
        {
            if (artefato == null) HttpContext.Current.Response.Redirect(ActivUFRJ.Sistema.Paginas.ObjetoNaoEncontrado);
            else if (artefato.ID <= 0) HttpContext.Current.Response.Redirect(ActivUFRJ.Sistema.Paginas.ObjetoNaoEncontrado);
        }


        /// <summary>
        /// valida comunidade
        /// </summary>
        /// <param name="comunidade"></param>
        public static void Comunidade(Classes.Comunidade.Comunidade comunidade)
        {
            if (comunidade == null) HttpContext.Current.Response.Redirect(ActivUFRJ.Sistema.Paginas.ObjetoNaoEncontrado);
            else if (comunidade.ID <= 0) HttpContext.Current.Response.Redirect(ActivUFRJ.Sistema.Paginas.ObjetoNaoEncontrado);
        }


        /// <summary>
        /// valida usuario
        /// </summary>
        /// <param name="comunidade"></param>
        public static void Usuario(Classes.Usuario.Usuario usuario)
        {
            if (usuario == null) HttpContext.Current.Response.Redirect(ActivUFRJ.Sistema.Paginas.ObjetoNaoEncontrado);
            else if (usuario.ID <= 0) HttpContext.Current.Response.Redirect(ActivUFRJ.Sistema.Paginas.ObjetoNaoEncontrado);
        }

    }
}